package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         204,
		Discription: "小于n的质数数量",
		Level:       2,
		Labels: map[string]int{
			"数学": 1,
		},
	})
}

//初始所有数都是质数
//从2开始，每发现一个质数，把它的所有倍数多标为合数
func CountPrimes(n int) int {
	count := 0
	isExlude := make([]bool, n)
	for i := 2; i < n; i++ {
		if !isExlude[i] {
			count++
			j := i * 2
			for j < n {
				isExlude[j] = true
				j += i
			}
		}
	}

	return count
}
